package main

import (
	"fyne.io/fyne/v2"
	"fyne.io/fyne/v2/app"
	"fyne.io/fyne/v2/container"
	"fyne.io/fyne/v2/widget"
)

func main() {
	// 创建应用程序实例
	a := app.New()

	/*// 创建左侧和右侧的组件
	left := widget.NewLabel("左侧内容")
	right := widget.NewLabel("右侧内容")

	bottom := widget.NewLabel("下面部分")
	// 设置左侧组件的初始大小（例如，宽度为 200）
	// 注意：这只是组件本身的初始大小，分割容器会根据这些大小来调整
	left.Resize(fyne.NewSize(600, 400))   // 高度设为 0，让容器决定
	bottom.Resize(fyne.NewSize(800, 100)) // 高度设为 0，让容器决定
	// 创建窗口并设置标题
	w := a.NewWindow("分割窗口示例")
	splitContainer := container.NewVSplit(
		container.NewHSplit(
			left,
			right,
		),
		bottom,
	)
	//
	// 设置窗口内容并显示
	w.SetContent(splitContainer)*/

	w := a.NewWindow("分割窗口")
	// 创建左右两个组件
	left := widget.NewLabel("左侧内容")
	right := widget.NewLabel("右侧内容")

	// 创建一个容器，用于控制左右组件的大小
	content := container.NewGridWithColumns(2, left, right)

	// 设置左右组件的初始大小
	left.Resize(fyne.NewSize(200, 0))
	right.Resize(fyne.NewSize(400, 0))

	// 将容器设置为窗口的内容
	w.SetContent(content)

	// 设置窗口的初始大小
	w.Resize(fyne.NewSize(600, 400))
	w.ShowAndRun()
}
